﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate.Cfg;
using NHibernate.Mapping;

namespace NHibernate.Audit.Cfg
{
    public interface IAuditClassConvention 
    {

        bool AuditClass(PersistentClass clazz);
        bool AuditClass(string entityName);
        bool AuditProperty(Property Property);
        bool AuditProperty(string propertyName);
        string GetAuditClassNameFor(PersistentClass clazz);
        string GetAuditEntityNameFor(PersistentClass clazz);
        string GetAuditEntityNameFor(Configuration configuration, System.Type realType);
        string GetAuditEntityNameFor(string entityName);
    }
}
